有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java调用setLocationEnabled在另一个按钮中

setLocationEnabled是一个属性,它在地图顶部显示一个按钮,使地图转到当前位置

但是我想“隐藏”这个按钮并调用另一个自定义按钮上的方法。有办法吗?我不想创建一个大的代码去目前的位置,它不快。我只想要一个和setLocationEnabled(true)功能相同的按钮

我该怎么做


共 (2) 个答案

  1. # 1 楼答案

    如您所知,您可以使用以下命令隐藏“当前位置”按钮:

    UiSettings.setMyLocationButtonEnabled(false);
    

    现在,如果您想手动执行此任务,您必须自己做一些工作。首先,您需要获取用户的当前位置。这可以通过重写LocationListener实现的onLocationChanged函数来获取(和更新)。如果不清楚如何执行此操作,请签出描述它的documentationThis可能也很有用

    其次,您需要通过设置地图的摄影机来查看用户的位置,并(可能)在该位置设置一个标记来确定用户的位置。下面是我在最近的一个应用程序中使用的函数,它描述了如何做到这一点:

    public void moveToLocation(Location input) {
        Double lat = (double) (input.getLatitude());
        Double lon = (double) (input.getLongitude());
    
        final LatLng location = new LatLng(lat, lon);
    
        setLocMarker(location);
    
        mainMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 16));
    
        //if you want the camera to have an "animated" effect, you can perform the following
        //mainMap.animateCamera(CameraUpdateFactory.zoomTo(16), 4000, null);
    }
    

    有关摄影机效果和动画的更多信息,请参阅此documentation